У пункта меню есть свойство Index:
public int Index {get; set;}
Это свойство можно использовать для перемещения позиции меню. Смотрим пример:
using System;
using System.Windows.Forms;
using System.Drawing;
class MainForm : Form
{
MenuItem MenuNew;
public MainForm()
{
Text = "Easy Draw";
MainMenu mnuMenu = new MainMenu();
this.Menu = mnuMenu;
MenuItem MenuItemFile = new MenuItem("&File");
MenuNew = new MenuItem("New");
MenuItem MenuOpen = new MenuItem("Open");
MenuItem MenuExit = new MenuItem("Exit",
new System.EventHandler(this.MenuExit_Click));
MenuExit.Shortcut = Shortcut.CtrlX;
MenuItemFile.MenuItems.Add(MenuNew);
MenuItemFile.MenuItems.Add(MenuOpen);
MenuItemFile.MenuItems.Add(MenuExit);
mnuMenu.MenuItems.Add(MenuItemFile);
}
private void MenuExit_Click(Object sender, EventArgs e)
{
MenuNew.Index=MenuNew.Index+1;
}
public static void Main(string[] args)
{
Application.Run(new MainForm());
}
}
В начальном состоянии меню такое.

После двух вызовов Exit меню поменяет свое положение.

Но будте осторожны, еще один вызов и Вы получите исключение:
